package com.ruoyi.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "driver_user")
public class DriverUser {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 司机注册地行政区划代码
     */
    @TableField(value = "address")
    private String address;

    /**
     * 司机姓名
     */
    @TableField(value = "driver_name")
    private String driverName;

    @TableField(value = "driver_phone")
    private String driverPhone;

    /**
     * 1:男，2：女
     */
    @TableField(value = "driver_gender")
    private Byte driverGender;

    @TableField(value = "driver_birthday")
    private Date driverBirthday;

    /**
     * 驾驶员民族
     */
    @TableField(value = "driver_nation")
    private String driverNation;

    @TableField(value = "driver_contact_address")
    private String driverContactAddress;

    /**
     * 机动车驾驶证号
     */
    @TableField(value = "license_id")
    private String licenseId;

    /**
     * 初次领取驾驶证日期
     */
    @TableField(value = "get_driver_license_date")
    private Date getDriverLicenseDate;

    /**
     * 驾驶证有效期起
     */
    @TableField(value = "driver_license_on")
    private Date driverLicenseOn;

    /**
     * 驾驶证有效期止
     */
    @TableField(value = "driver_license_off")
    private Date driverLicenseOff;

    /**
     * 是否巡游出租汽车：1：是，0：否
     */
    @TableField(value = "taxi_driver")
    private Byte taxiDriver;

    /**
     * 网络预约出租汽车驾驶员资格证号
     */
    @TableField(value = "certificate_no")
    private String certificateNo;

    /**
     * 网络预约出租汽车驾驶员发证机构
     */
    @TableField(value = "network_car_issue_organization")
    private String networkCarIssueOrganization;

    /**
     * 资格证发证日期
     */
    @TableField(value = "network_car_issue_date")
    private Date networkCarIssueDate;

    /**
     * 初次领取资格证日期
     */
    @TableField(value = "get_network_car_proof_date")
    private Date getNetworkCarProofDate;

    /**
     * 资格证有效起始日期
     */
    @TableField(value = "network_car_proof_on")
    private Date networkCarProofOn;

    /**
     * 资格证有效截止日期
     */
    @TableField(value = "network_car_proof_off")
    private Date networkCarProofOff;

    /**
     * 报备日期
     */
    @TableField(value = "register_date")
    private Date registerDate;

    /**
     * 服务类型：1：网络预约出租汽车，2：巡游出租汽车，3：私人小客车合乘
     */
    @TableField(value = "commercial_type")
    private Byte commercialType;

    /**
     * 驾驶员合同（协议）签署公司
     */
    @TableField(value = "contract_company")
    private String contractCompany;

    /**
     * 合同（协议）有效期起
     */
    @TableField(value = "contract_on")
    private Date contractOn;

    /**
     * 合同有效期止
     */
    @TableField(value = "contract_off")
    private Date contractOff;

    /**
     * 司机状态：0：有效，1：失效
     */
    @TableField(value = "`state`")
    private Byte state;

    /**
     * 创建时间
     */
    @TableField(value = "gmt_create")
    private Date gmtCreate;

    /**
     * 修改时间
     */
    @TableField(value = "gmt_modified")
    private Date gmtModified;

    @TableField(exist = false)
    private String causeOfRejection;
}